package com.ruoyi.basebill.mapper;

import java.util.List;
import com.ruoyi.basebill.domain.OmsReceiptbill;
import com.ruoyi.basebill.domain.OmsReceiptbillentry;

/**
 * OMS收货确认Mapper接口
 * 
 * @author ptt
 * @date 2023-02-10
 */
public interface OmsReceiptbillMapper 
{
    /**
     * 查询OMS收货确认
     * 
     * @param id OMS收货确认主键
     * @return OMS收货确认
     */
    public OmsReceiptbill selectOmsReceiptbillById(Long id);

    /**
     * 查询收货确认完整信息
     * @param id
     * @return
     */
    public OmsReceiptbill selectOmsReceiptbillSummaryEntryById(Long id);

    /**
     * 查询OMS收货确认列表
     * 
     * @param omsReceiptbill OMS收货确认
     * @return OMS收货确认集合
     */
    public List<OmsReceiptbill> selectOmsReceiptbillDetailList(OmsReceiptbill omsReceiptbill);

    public List<OmsReceiptbill> selectOmsReceiptbillList(OmsReceiptbill omsReceiptbill);

    public List<OmsReceiptbill> selectOmsReceiptbillBySumSalebill(OmsReceiptbill omsReceiptbill);

    public List<OmsReceiptbill> selectOmsReceiptbillBySumPurbill(OmsReceiptbill omsReceiptbill);

    public List<OmsReceiptbill> selectOmsReceiptbillBySumStocbill(OmsReceiptbill omsReceiptbill);



    /**
     * 新增OMS收货确认
     * 
     * @param omsReceiptbill OMS收货确认
     * @return 结果
     */
    public int insertOmsReceiptbill(OmsReceiptbill omsReceiptbill);

    /**
     * 修改OMS收货确认
     * 
     * @param omsReceiptbill OMS收货确认
     * @return 结果
     */
    public int updateOmsReceiptbill(OmsReceiptbill omsReceiptbill);

    /**
     * 删除OMS收货确认
     * 
     * @param id OMS收货确认主键
     * @return 结果
     */
    public int deleteOmsReceiptbillById(Long id);

    /**
     * 批量删除OMS收货确认
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOmsReceiptbillByIds(Long[] ids);

    /**
     * 批量删除OMS收货确认分录
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOmsReceiptbillentryByParentids(Long[] ids);
    
    /**
     * 批量新增OMS收货确认分录
     * 
     * @param omsReceiptbillentryList OMS收货确认分录列表
     * @return 结果
     */
    public int batchOmsReceiptbillentry(List<OmsReceiptbillentry> omsReceiptbillentryList);
    

    /**
     * 通过OMS收货确认主键删除OMS收货确认分录信息
     * 
     * @param id OMS收货确认ID
     * @return 结果
     */
    public int deleteOmsReceiptbillentryByParentid(Long id);


    /**
     * 查找需要下发的单据
     * @return
     */
    List<OmsReceiptbill> selectPushDownBill();


    /**
     * 查找需要下发生成对外销出单的数据
     * @return
     */
    List<OmsReceiptbill> selectPushDownOutSaleBill();
}
